<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>blam.Reconstruct3DMeshOperator</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="blam-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="blam-module.html">Module&nbsp;blam</a> ::
        Class&nbsp;Reconstruct3DMeshOperator
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="blam.Reconstruct3DMeshOperator-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Reconstruct3DMeshOperator</h1><p class="nomargin-top"><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator">source&nbsp;code</a></span></p>
<pre class="base-tree">
bpy.types.Operator --+
                     |
                    <strong class="uidshort">Reconstruct3DMeshOperator</strong>
</pre>

<hr />
<p>Handles reconstruction of 3D geometry with rectangular faces based on 
  images of such geometry. The heart of this operator is the reconstruction
  of single 3D rectangles, which is done using the AC algorithm described 
  in &quot;Recovery of Intrinsic and Extrinsic Camera Parameters Using 
  Perspective Views of Rectangles&quot; by T. N. Tan, G. D. Sullivan and K.
  D. Baker. All equation numbers and section numbers below refer to this 
  paper.</p>

<hr />
<div class="fields">      <p><strong>See Also:</strong>
        http://www.bmva.org/bmvc/1995/bmvc-95-017.pdf
      </p>
</div><!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#evalEq17" class="summary-sig-name">evalEq17</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">origin</span>,
        <span class="summary-sig-arg">p1</span>,
        <span class="summary-sig-arg">p2</span>)</span><br />
      Evaluates the left hand sides defined in equation 17.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq17">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#evalEq27" class="summary-sig-name">evalEq27</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">l</span>)</span><br />
      Evaluates the left hand side of equation 27.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq27">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#evalEq28" class="summary-sig-name">evalEq28</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">l</span>)</span><br />
      Evaluates the left hand side of equation 28.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq28">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#evalEq29" class="summary-sig-name">evalEq29</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">l</span>)</span><br />
      Evaluates the left hand side of equation 29.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq29">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#localToCameraSpace" class="summary-sig-name">localToCameraSpace</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">verts</span>)</span><br />
      Expresses a set of vertices given in local mesh coordinates in camera
      space coordinates.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.localToCameraSpace">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#computeCi" class="summary-sig-name">computeCi</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">Qab</span>,
        <span class="summary-sig-arg">Qac</span>,
        <span class="summary-sig-arg">Qad</span>,
        <span class="summary-sig-arg">Qbc</span>,
        <span class="summary-sig-arg">Qbd</span>,
        <span class="summary-sig-arg">Qcd</span>)</span><br />
      Computes the coefficients Ci in equation 27.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.computeCi">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#computeBi" class="summary-sig-name">computeBi</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">Qab</span>,
        <span class="summary-sig-arg">Qac</span>,
        <span class="summary-sig-arg">Qad</span>,
        <span class="summary-sig-arg">Qbc</span>,
        <span class="summary-sig-arg">Qbd</span>,
        <span class="summary-sig-arg">Qcd</span>)</span><br />
      Computes the coefficients Bi in equation 28.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.computeBi">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#computeQuadDepthInformation" class="summary-sig-name">computeQuadDepthInformation</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">qHatA</span>,
        <span class="summary-sig-arg">qHatB</span>,
        <span class="summary-sig-arg">qHatC</span>,
        <span class="summary-sig-arg">qHatD</span>)</span><br />
      Computes the depth values lambda A-D defined in equation 16.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.computeQuadDepthInformation">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="getQuadError"></a><span class="summary-sig-name">getQuadError</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">pA</span>,
        <span class="summary-sig-arg">pB</span>,
        <span class="summary-sig-arg">pC</span>,
        <span class="summary-sig-arg">pD</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.getQuadError">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="createMesh"></a><span class="summary-sig-name">createMesh</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">inputMesh</span>,
        <span class="summary-sig-arg">computedCoordsByFace</span>,
        <span class="summary-sig-arg">quads</span>)</span><br />
      TODO</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.createMesh">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#getOutputMeshScale" class="summary-sig-name">getOutputMeshScale</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">camera</span>,
        <span class="summary-sig-arg">inMesh</span>,
        <span class="summary-sig-arg">outMesh</span>)</span><br />
      Computes a uniform scale factor for the output mesh such that its 
      mean point coincides with the mean point of the input mesh.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.getOutputMeshScale">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#areAllMeshFacesConnected" class="summary-sig-name">areAllMeshFacesConnected</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">mesh</span>)</span><br />
      Checks if all faces of a given mesh are connected, i.e if any given 
      face is reachable from any other face by traversing neighboring 
      faces.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.areAllMeshFacesConnected">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="blam.Reconstruct3DMeshOperator-class.html#areAllMeshFacesQuads" class="summary-sig-name">areAllMeshFacesQuads</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">mesh</span>)</span><br />
      Checks if all faces of a mesh are quads.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.areAllMeshFacesQuads">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="execute"></a><span class="summary-sig-name">execute</span>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">context</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.execute">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Class Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-ClassVariables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="bl_idname"></a><span class="summary-name">bl_idname</span> = <code title="&quot;object.compute_depth_information&quot;">&quot;object.compute_depth_information&quot;</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="bl_label"></a><span class="summary-name">bl_label</span> = <code title="&quot;Reconstruct 3D geometry&quot;">&quot;Reconstruct 3D geometry&quot;</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="blam.Reconstruct3DMeshOperator-class.html#bl_description" class="summary-name">bl_description</a> = <code title="&quot;Reconstructs a 3D mesh with rectangular faces based on a mesh with fa\
ces lining up with the corresponding faces in the image. Relies on the\
 active camera being properly calibrated.&quot;">&quot;Reconstructs a 3D mesh with rectangular face<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
</table>
<!-- ==================== INSTANCE VARIABLES ==================== -->
<a name="section-InstanceVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceVariables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="D0"></a><span class="summary-name">D0</span><br />
      solve eq 29 for lambdaD, i.e the depth in camera space of vertex D.
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="evalEq17"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">evalEq17</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">origin</span>,
        <span class="sig-arg">p1</span>,
        <span class="sig-arg">p2</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq17">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Evaluates the left hand sides defined in equation 17.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>origin</code></strong> - The common vertex of the two edges.</li>
        <li><strong class="pname"><code>p1</code></strong> - The position of the first of the other two vertices.</li>
        <li><strong class="pname"><code>p2</code></strong> - The position of the second of the other two vertices.</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>The dot product (should be zero).</dd>
  </dl>
</td></tr></table>
</div>
<a name="evalEq27"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">evalEq27</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">l</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq27">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Evaluates the left hand side of equation 27.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>l</code></strong> - Lambda D</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>The value of the left hand side (should be zero).</dd>
  </dl>
</td></tr></table>
</div>
<a name="evalEq28"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">evalEq28</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">l</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq28">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Evaluates the left hand side of equation 28.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>l</code></strong> - Lambda D</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>The value of the left hand side (should be zero).</dd>
  </dl>
</td></tr></table>
</div>
<a name="evalEq29"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">evalEq29</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">l</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.evalEq29">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Evaluates the left hand side of equation 29.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>l</code></strong> - Lambda D</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>The value of the left hand side (should be zero).</dd>
  </dl>
</td></tr></table>
</div>
<a name="localToCameraSpace"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">localToCameraSpace</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">verts</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.localToCameraSpace">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Expresses a set of vertices given in local mesh coordinates in camera 
  space coordinates.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>verts</code></strong> - The vertices in local mesh space.</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>The vertices in camera space.</dd>
  </dl>
</td></tr></table>
</div>
<a name="computeCi"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">computeCi</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">Qab</span>,
        <span class="sig-arg">Qac</span>,
        <span class="sig-arg">Qad</span>,
        <span class="sig-arg">Qbc</span>,
        <span class="sig-arg">Qbd</span>,
        <span class="sig-arg">Qcd</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.computeCi">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Computes the coefficients Ci in equation 27.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>Qab</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qac</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qad</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qbc</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qbd</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qcd</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="computeBi"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">computeBi</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">Qab</span>,
        <span class="sig-arg">Qac</span>,
        <span class="sig-arg">Qad</span>,
        <span class="sig-arg">Qbc</span>,
        <span class="sig-arg">Qbd</span>,
        <span class="sig-arg">Qcd</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.computeBi">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Computes the coefficients Bi in equation 28.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>Qab</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qac</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qad</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qbc</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qbd</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
        <li><strong class="pname"><code>Qcd</code></strong> - One of the coefficients Qij defined just after equation 21.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="computeQuadDepthInformation"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">computeQuadDepthInformation</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">qHatA</span>,
        <span class="sig-arg">qHatB</span>,
        <span class="sig-arg">qHatC</span>,
        <span class="sig-arg">qHatD</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.computeQuadDepthInformation">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Computes the depth values lambda A-D defined in equation 16.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>qHatA</code></strong> - One of the line of sight unit vectors defined in equation 16.</li>
        <li><strong class="pname"><code>qHatB</code></strong> - One of the line of sight unit vectors defined in equation 16.</li>
        <li><strong class="pname"><code>qHatC</code></strong> - One of the line of sight unit vectors defined in equation 16.</li>
        <li><strong class="pname"><code>qHatD</code></strong> - One of the line of sight unit vectors defined in equation 16.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="getOutputMeshScale"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">getOutputMeshScale</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">camera</span>,
        <span class="sig-arg">inMesh</span>,
        <span class="sig-arg">outMesh</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.getOutputMeshScale">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Computes a uniform scale factor for the output mesh such that its mean
  point coincides with the mean point of the input mesh.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>camera</code></strong> - The active camera</li>
        <li><strong class="pname"><code>inMesh</code></strong> - The input mesh.</li>
        <li><strong class="pname"><code>outMesh</code></strong> - The output mesh to apply the scale to.</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>The scale factor.</dd>
  </dl>
</td></tr></table>
</div>
<a name="areAllMeshFacesConnected"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">areAllMeshFacesConnected</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">mesh</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.areAllMeshFacesConnected">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Checks if all faces of a given mesh are connected, i.e if any given 
  face is reachable from any other face by traversing neighboring 
  faces.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>mesh</code></strong> - The mesh to check.</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>True if all faces are connected, False otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<a name="areAllMeshFacesQuads"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">areAllMeshFacesQuads</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">mesh</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="blam-pysrc.html#Reconstruct3DMeshOperator.areAllMeshFacesQuads">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Checks if all faces of a mesh are quads.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>mesh</code></strong> - The mesh to check.</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>True if all faces of the mesh are quads, False otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
<a name="section-ClassVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Class Variable Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-ClassVariableDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="bl_description"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">bl_description</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
&quot;Reconstructs a 3D mesh with rectangular faces based on a mesh with fa<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
ces lining up with the corresponding faces in the image. Relies on the<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
 active camera being properly calibrated.&quot;
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="blam-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Thu Feb  2 13:57:34 2012
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
